package main.java.DMDE.view;

import java.util.List;

import javax.swing.JPanel;

import main.java.DMDE.controllers.IOperationController;
import main.java.DMDE.model.Method;
import main.java.DMDE.model.Modifier;
import main.java.DMDE.model.Parameter;
import main.java.DMDE.model.Type;
import main.java.DMDE.model.Visibility;

public interface IOperationView {
    
    JPanel getPanel();

    String getName();

    Type getReturnType();

    Visibility getVisibility();

    void setController(IOperationController operationController);

    List<Modifier> getModifiers();

    void addParameterView(IParameterView parameterView);

    List<Method> getOperations();

    void loadOperations();

    void setOperations(List<Method> operations);

    void disableInterfaceVisibility();

    void disableInterfaceModifier();

    void setParameters(IParameterView parameterView, List<Parameter> parameters);

    List<Parameter> getParameters();

}
